ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

New WINDEV, WEBDEV and WINDEV Mobile 2024 feature!
This content has been translated automatically.  Click here  to view the French version.
Help / New features / New features in version 2024
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
See the 929 new features (PDF)

New: interactive tour generator
One of the major new features of version 2024 is the new "Guided Tour" generator, which lets you easily offer a help function that your users are used to and appreciate.
For more details, see Guided Tour.
What is a "guided tour"?
A Guided Tour presents a series of features, displayed in a tooltip in the current window or page.
A Guided Tour introduces the end-user to new features in the version, or to specific functionalities, or guides the user through each step of a process.
A Guided Tour can also be used as a tutorial.
The display and navigation process is managed automatically.
For more details, see Guided Tour.
How to create a Guided Tour? A powerful new wizard
Creating a Guided Tour is easy.
Note that a Guided Tour is created in the same way in WINDEV, WEBDEV and WINDEV Mobile..
Simply perform the following steps:
  1. Open the window or page where the Guided Tour is to start.
  2. Launch the wizard guided tour generator.
  3. Define general tour parameters: behavior and look.
  4. Create a stage for control to present:
    • Visually select the control,
    • Define title and text to be displayed,
    • Possibly define specific behaviors for this stage: different color halo, etc.
  5. Click on GO to test this Guided Tour.
  6. It's all over!
Everything is automatic.
For more details, see Guided Tour.
Details of wizard
wizard makes it easy to create a Guided Tour.
On the left, the steps, in the middle the parameters of the selected step, on the right an overview of the choices made..
Among the parameters available in wizard:
General:
  • Choice of bubble, color, margin, transparency,
  • Identification of control: rectangle or halo, DDW,
  • Action when clicked outside the highlighted control: cancel or move on to the next step or do nothing.
In stages:
  • Enter title and bubble text.
For more details, see Guided Tour.
The 3 types of Guided Tour
A Guided Tour can take 3 forms:
  • Traditional guided tour,
  • Guided use (or Tuto),
  • Permanent display bubble.
wizard allows you to create these 3 types of Guided Tour.
  • A traditional Guided Tour is a series of bubbles displayed at a predefined interval or after user intervention.: click on a button, Next/Back, Space key, etc.
    Features are presented one after another.
  • A Guided Use (or Tutorial) presents an action to be performed (enter zip code, etc.); when this action is completed, the next step bubble is displayed.
    Here, step changes are triggered by user actions in the application..
  • A permanent bubble is displayed until the user closes it..
    This display is useful, for example, as a reminder of safety instructions, an business logic rule, or to introduce an important new feature.
For more details, see Guided Tour.
Traditional guided tour: nothing to code
There's nothing to develop for a traditional Guided Tour..
wizard generates the necessary source code and automatically pastes it into the Initialization Processing of the relevant window or page..
You can freely edit this code.
It is therefore possible to develop specific treatments.
To this end, new types and properties are introduced in version 2024.
For more details, see Guided Tour.
Guided tour: the new WLangage functions
New WLanguage functions:
InGuidedTourMode, GuidedTourStart, GuidedTourStop, GuidedTourChangeStep, GuidedVisitInfo
to control the Guided Tour.
For example, the WLanguage function GuidedTourStart triggers the first step of the array: the first bubble is displayed.
Guided tour: 2 new WLangage types
Programmable customization of a guided tour is very powerful, and relies on 2 new WLanguage types.
These types make it easy to program the many settings proposed for the Guided Tour..
The GuidedTour type allows:
  • define all general properties common to all stages of a guided tour,
  • define the array steps.
The GuidedTourStep type is used to define properties specific to a stage..
Steps can be added, modified or deleted by programming.
Numerous new properties complete these functions.
Guided tour: new type properties
New type properties enable fine-tuning of behavior.
ActionTargetActionOutsideTargetBubble.AuthorizedActionBubble.BackgroundColor
Bubble.WindowInternalMargin BubbleBull.MarkdownBulle.Mode
Bubble.PageInternalTargetDescriptionAutomaticValidationTimeout
Effect.growthEffect.roundingEffect.colorEffect.durationAnimation
Effect.FormMargin.effectOpacity.effectEffect.Type
IdentifierIndexInitializationTermination
TitleVersionEtape [ ]

Guided tour: new keyword
The new keyword MyGuidedVisit allows access to the Guided Tour currently displayed: access properties, add or delete stages, change stages, etc.
For more details, see Guided Tour.
Additional actions to those proposed by wizard per program
Everything defined by the Guided Tour Assistant can be modified by programming..
Many additional options are available through programming:
  • Display or not the Previous/Next buttons, and the close cross,
  • Highlighting a group of fields,
  • Frequency of appearance (by version number, every month, every n launches, etc.),
  • array stage modification,
  • Code to be executed before and/or after each step,
  • The bubble on one control may also be displayed only when entering another control,
  • Fields can be programmatically filled according to an end-user action on the bubble,
  • Markdown support,
  • etc
A reminder: A Guided Tour uses the same WLanguage code in WINDEV, WEBDEV and WINDEV Mobile.
For more details, see Guided Tour.
An example of code
Example of code generated by wizard: General tour settings and first step:
MesNouveautés is GuidedTour
// Paramètre la visite guidée
MesNouveautés.Identifier = "VISITE ERP"
// Ajoute les étapes de la visite
UneÉtape is GuidedTourStep
UneÉtape.Target = BTN_Partager..Name
UneÉtape.Title = "Bouton Partage"
UneÉtape.Description = "Action rapide qui permet de partager le document au travers d'autres plateformes"
MesNouveautés.Étape.Ajoute(UneÉtape)
...
// Démarre la visite guidée
MesNouveautés.Started()
Example of custom code for setting effects:
MesNouveautés.Effet.Type = gttHalo
MesNouveautés.Effet.Forme = gtsCircle
MesNouveautés.Effet.DuréeAnimation = 1 s
MesNouveautés.Effet.Opacité = 80
Guided tour: bubble customization
The bubble displayed by the Guided Tour is fully customizable.
Simply use an Internal Window or an Internal Page. Several models are available. Fields can be added, etc.
For more details, see Guided Tour.
Skin templates and skin
As you know, Templates and Ambiences allow you to choose and apply an template from UI to a project..
Skin templates apply to applications, while Skins apply to websites.
If necessary, you can dissociate the control from the skin template or skin, or override the style of the control.
In version 2024, you no longer need to override styles.
A new method consists in duplicating an existing Skin template or Skin, renaming it, and then directly modifying the styles, natively, without having to overload them..
This makes it easier to define styles.
Please note that once duplicated, the Skin template or Skin no longer benefits from any updates provided by PC SOFT.
For more details, see Cloning a skin template or a skin.
7 new business logic fields
The 2024 version offers 7 new business logic fields:
  • Display Markdown documents,
  • Display FAQ,
  • Sliding cards,
  • Label to be entered,
  • Non-blocking Upload control,
  • Signature tactile,
  • Numeric input with Slider.
You can find these business logic fields directly in the corresponding sections.: new features 220 to 221 for WINDEV 2024, 488 to 490 for WINDEV Mobile 2024, and 763 to 772 for WEBDEV 2024.
control Word processing: managing checkboxes
In version 2024, control Text Processing supports checkboxes.
These checkboxes can be programmed, and their report (checked or unchecked) can be retrieved..
The Unicode characters used to represent the ticks are also programmable.
Word processing field: meaning of set
In version 2024, the Text Processing field now lets you choose the meaning of set: left to right, or right to left.
control Word processing: free minibar!
In version 2024, it is now possible to choose which option bar will be used: either the standard bar (a ribbon rich in options) or the less intrusive minibar.
See new feature 228.
Spreadsheet field: INTERNET link detection
INTERNET links in spreadsheet cells become clickable.
control Spreadsheet: access to cell notes
In version 2024, it becomes possible to access cell notes by programming, in read and set mode.
PDF: champ PDF Reader displays attachments and bookmarks
In version 2024, champ PDF Reader displays the list of attachments via Default..
The bookmarks list is also displayed.
New control Graphe: Waffle
A new type of graph appears in version 2024: the Waffle graph.
This type of chart shows progress towards a goal or percentage of completion.
It consists of a grid of small cells, where colored cells represent the data.
A chart can have one or more categories.
Several graphs can be assembled to compare different series.
For more details, see Waffle charts.
New Chart control Waffle: the program
The programming of the Chart control Waffle is the usual programming for filling graphs..
The usual WLanguage gr functions family allows you to handle this type of graph.
Graphe histogramme: look moderne
Default's modern look for histograms.
And new parameters are introduced for
finer customization: bar rounding, etc..
Graph: users can customize axes
A new AAF allows end-users to modify the bounds and scale of graphs.
This avoids unused empty zones based on actual data.
Offer electronic signatures in your applications and websites
It is now common for individuals or businesses to sign contracts electronically.
To comply with regulations, an electronic signature must be validated by a trusted site..
In Europe, this regulation is called eIDAS..
Version 2024 makes it easy to include this capability in all your applications and sites.
For more details, see Docusign: Digital signature.
The 3 types of electronic signatures
There are 3 types of electronic signatures:
  • Simple Electronic Signature (SES),
  • Advanced Electronic Signature (AES),
  • Qualified Electronic Signature (QES),
To sum up, the simple signature doesn't verify much (to be used with trusted interlocutors), the advanced signature sends a verification code by SMS, and the qualified signature verifies the identity of the signatory..
Qualified electronic signatures are only form of electronic signature that is considered equivalent to a handwritten signature.
For more details, see Docusign: Digital signature.
The steps involved in an electronic signature
The basic principle of an electronic signature:
  • Create the Document to sign: PDF, HTML, Docx,
  • Send the Document to the service provider (upload),
  • Transmit the list of signatories: name, email, Phone, etc,
  • Each recipient receives the Document, and signs it,
  • The sender of the Document recovers it signed, and can send an copy.
There are a number of possible operating methods, depending on the case:
  • recipient for information only,
  • identification type: none, SMS, ID, etc,
  • number of documents,
  • delai,
  • etc.
For more details, see Docusign: Digital signature.
Easy-to-use functions
WLanguage functions are delivered in the form of an internal Component, with their source code.
The functions allow you to:
  • Set signature level,
  • Send one or more documents to Docusign, to a recipient (name, email, Phone number, etc.), for signature or information,
  • Set signature location in Document,
  • Find out if an Document has been signed, and who hasn't,
  • Obtain signing dates/times,
  • Retrieve signed documents,
  • Cancel the operation.
All aspects of verification, sending Email or SMS, ID verification and document storage are fully handled by the service provider (in this case, Docusign).
For more details, see Docusign: Digital signature.
An wizard generates the code
To simplify development, an intuitive wizard generates the necessary code..
For more details, see Docusign: Digital signature.
Access to all API
To manage special cases, all the API s supplied by Docusign can be accessed via a WLanguage call.
For more details, see Docusign: Digital signature.
The billing principle
Docusign offers several types of subscriptions, giving access to different types of signatures.
The type of subscription to choose is an "API subscription"..
Contracts include a fixed number of signatures per month.
When SMS validation is chosen, an additional cost is incurred.
This information is accurate at the time of printing this Document, but may change according to developments at Docusign.
For more details, see Docusign: Digital signature.
All service providers can be used: YouSign, etc.
Docusign is supported by default, but all other solutions (YouSign, Certeurope, etc.) can also be used by calling a REST or SOAP API in WLanguage.
There is no limit.
For more details, see Docusign: Digital signature.
Image editor: rules and guides
In version 2024, the control Image Editor displays horizontal and vertical rulers.
It is also possible to position guides on these rules.
Image editor: various
  • Moving layers with the keyboard,
  • Handles in work area,
  • Improved text input procedure.
Don't duplicate your projects: a single environment
As you know, it is possible to use WINDEV, WEBDEV and WINDEV Mobile in the same environment.
Project elements are immediately shared between all 3 platforms: analyses, queries, reports, procedures, classes, code, etc.
Windows, pages and mobile windows are in the same project.
These elements open directly in the WINDEV environment.
This allows for easy maintenance and portability of a WINDEV application to mobile and Web, without having to import or duplicate elements of the project.
In version 2024, the environement benefits from a number of useful day-to-day evolutions.
Reminder: you need a license of the corresponding software products.
Transform existing WINDEV elements into a SaaS application
A widespread need is to transform a Windows application (or parts of it) into a SaaS application..
Simply call the WLanguage functions in the SaaS family for license management, etc..
WINDEV 2024 lets you use Default's SaaS administration site to manage an application in SaaS mode.
Several analyses in a single project
In version 2024, you can use multiple analyses in a single project.
For more details, see Project with multiple analyses.
Helping to optimize structures
Analysis Editor detects potential description optimizations .
For example, when a field is defined with a large size, and this field is not an index, the Analysis Editor suggests transforming the field type into Memo..
This will reduce disk occupation on the server, and increase get's speed.
table and rubric names: change to lower case
In version 2024, the Analysis Editor lets you change the case of all data file (table) and item (column) names, to lowercase or 1st letter uppercase, or all uppercase.
Item editing window
The column editing window now offers right-click cut/copy/paste operations.
Figma: a tool widely used by designers
Figma is an online design tool that allows you to create designs and prototypes in various fields, in particular for websites and applications.
Version 2024 of WINDEV, WEBDEV and WINDEV Mobile transforms FIGMA documents into windows and pages, and generates the corresponding fields while respecting their graphic appearance.
For more details, see Import an Document Figma.
The Figma principle
Figma is a vector graphics tool.
The designer creates rectangles, circles, lines, etc. and texts, and applies numerous parameters to them..
Elements can only be modified programmatically, and can overlap each other.
Everything is contained within given frames.
Designs can be accessed via a URL, which requires authentication.
For more details, see Import an Document Figma.
How it works
To create one or more windows (or pages) in WINDEV (or WEBDEV), simply:
  • create a FIGMA account (license is not required*),
  • ask the designer to share the Document to be imported,
  • select the import option in WINDEV (or WEBDEV),
  • specify the page and frame to be imported,
  • WINDEV creates a new window (WEBDEV a page),
  • WINDEV (or WEBDEV) visualizes the content and analyzes the structure of Document,
  • the developer selects the graphic elements making up an control drawn by the designer,
  • under WINDEV (or WEBDEV), fields are created in real time in the window (or on the page),
  • conditions of use may change and depend on the Figma license on the day you use the feature.
For more details, see Import an Document Figma.
Field generation
For each selected shape or set of shapes, the editor proposes a type of control.
The developer then indicates each Component element on the control: its wording, its input field, its possible decoration...
It is possible not to import an control, or part of an control: lorem ipsum, for example.
If required, an image of the control in Figma can be imported into the window or page..
The necessary styles are automatically created.
For more details, see Import an Document Figma.
Positioning respected
The fields created respect the positioning of the Document Figma.
For more details, see Import an Document Figma.
The "UI elements" > "controls" association is preserved
The association between graphic elements and created fields is preserved.
If the Figma model is modified, simply process the new objects..
Existing objects already associated are retained.
For more details, see Import an Document Figma.
7 tabs: a search magnifier that searches even in the text of the 7 tabs
A universal magnifying glass appears in all 7 tabs.
The magnifying glass allows you to search for attributes present everywhere in each tab of the "7 tabs".: labels, labels of buttons used in the 7 tabs, content of scrolled combos, content of input fields, etc..
Thanks to this magnifying glass, searches are exhaustive.
There's no need to scroll through the tabs one by one to find an option you rarely use..
The number of occurrences is displayed, and when the information is in another tab, that tab is highlighted, etc.
Arrange your documents in the document bar
In the document bar of the environement , it becomes possible to organize the elements in the order of your choice.
Windows resource management
Windows, even in version 11, has resource limits; for example, the number of handles has a limit..
Depending on the resources available in Windows, the oldest project elements open in the editor will be closed if necessary.
Faster compilation of multilingual projects
Compilation of multilingual projects is much faster in version 2024.
Gain up to 75%.
template model: multiple inheritance
In version 2024, an template of pages or windows can inherit several models.
Share internal components between projects with different compilation options
In version 2024, each Internal Component benefits from its own compilation options.
This makes it easy to share Internal Components with projects using different options..
This is particularly useful when a recent Component Internal has enabled specific compilation options.
Alignment: spacing a group of fields by a given number of pixels
A new alignment option lets you space selected fields horizontally or vertically in a single operation, by specifying a spacing expressed in pixels.
Project creation: UI simplified
Project creation UI has been drastically simplified in version 2024.
Project styles: cross-referencing
The project style viewer shows the number of times each style has been used via a badge..
Clicking on the badge displays the list of uses.
This allows you to delete unused styles or standardize styles that are rarely used.
Forgotten validation button? Environment adds it
A validation button reacts when the end user presses the Enter key.
Some windows or pages may not have a validation button..
It's usually an oversight.
In version 2024, when the editor detects the absence of a button defined in Validation and the label of a button contains the text "OK", "Validate", "Connection", an UI warning is generated..
Clicking on the not happy smiley sets this button to Validate..
The same treatment is applied to "Cancel" buttons.
Miscellaneous
  • the environement language automatically adapts to system language: English, Spanish or French.
Image in obsolete mode in one site
WEBDEV offers the image mode " automatic ". This type of Image uses an optimal algorithm that increases site speed.
Static Audit version 2024 detects images not in automatic mode : Static, Dynamic, Generated, etc.
Detection of the use of 2 data sources with the same name
Historically, it was possible to use the names of data sources as identifiers..
The use of 2 data sources with the same name was authorized.
In some cases, this can lead to unexpected behaviour..
Version 2024 signals the simultaneous use of 2 data sources with the same name.
Dynamic Audit then reports that there is a compiler option that prohibits the use of the data source name as an identifier.
Search the Project Management Center database
In version 2024, a new search mode allows you to search the entire Control Center database.: tasks, incidents, requirements, etc.
Kanban task management
The Project Management Center offers an additional way of visualizing and manipulating a developer's tasks using Kanban..
This gives you an overview of the progress of your tasks, and allows you to modify the report of your tasks with a simple drag & drop.
For more details, see Project Management Hub: Kanban.
Miscellaneous
  • Possibility of tagging requirements,
  • For each requirement, a developer is designated as responsible.. When the manager switches his last task to "Completed" mode, and if there are still tasks to be completed for other developers, then the Control Center offers to insert an integration task.
  • Optimized completion of the list of requirements.
Dossier: new covers available
The presenter dossier has evolved and now offers a wider choice of covers.
Action plan administrator: Variable d'environnement
An environment Variable now displays its value when displayed in the action plan settings.
Action plan editor
Version 2024 introduces copy/paste in the action plan editor.
Password security: security level indicator
When a user creates a password, the User Groupware guides them and indicates the security level of this password.
The aim of this display is to encourage end-users to strengthen their passwords.
Miscellaneous
  • The new gpwListUser WLanguage function lists all users.
GIT: adding a project to GIT from the environement
It is now possible to create a GIT repository for a project directly from the environement.
For more details, see Share your projects via Git.
GIT: memorize password and personal access token
The GIT access password and personal access token are memorized by the environement from one development session to the next, to ensure smooth operation.
For more details, see Share your projects via Git.
the environement Image Editor: benefits from all the new features of control Image Editor
the environement's integrated image editor benefits from the new features of the control Image Editor in version 2024.: animated GIFs, scan, etc.
UI simplified language selection
WDMSG 2024 offers a much UI advanced language selection UI: the reference language is clearly indicated, the list of languages to be extracted is multiselection with a simple right-click, etc.
Partial branch carry-over: selecting the commit to be carried over
In the 2024 version, the branch deferral allows an Partial deferral. : it becomes possible to select one of the reintegrations carried out in a branch (in English: cherry-picking).
It is no longer necessary to carry over the entire branch.
Faster branch creation: X5
Version 2024 boosts branch creation speed, especially when using a remote SCM.
The gain can reach a factor of X5.
Numerous optimizations for routine SCM handling
All SCM operations are faster in version 2024: reintegration time, file deletion, item recovery, administrator launch, etc.
Freer branch creation
In version 2024, it is now possible to create branches on a directory that does not contain any projects..
Very useful for a directory containing resources: images, collections of procedures, components, etc..
This makes it easier to share resources between several projects.
For more details, see SCM: Branch management.
Directory sharing between several projects
In version 2024, it becomes possible to share an entire directory.
automatic generation of comment reintegration in SCM (IA)
When reintegrating into SCM, each developer had to enter the description of changes made to all reintegrated elements each time.
In version 2024, the version 2024 Code Editor can do this for you..
See new feature 135.
Note: this feature requires an OpenAI account.
For more details, see AI in the code editor.
SCM: divers
  • Base compaction option after purging.
For more details, see SCM administrator: available tools.
automatic correction of typing errors
S is Chiane ?
Well, no
S is Chaine!
The code editor fixes it for you.
Input assistance offers logical possibilities even in the event of a typing error.
An interactive info bubble
A new bubble appears in the 2024 version.
This bubble appears when hovering over variables and procedures
The tooltip displays the type of element hovered over and other useful information, and allows you to access the declaration of the element hovered over, or to view the element's cross-references (all uses).
Custom coloring of a variable, Procedure or method
This custom coloring highlights:
  • calls to a particular Procedure,
  • Procedure output parameters,
  • Variable to handle with care,
  • an overloaded function to restore its original color.
Custom coloring is performed using either RGB components or color constants in the code editor.
Hashtags: developments
In version 2024, it is now possible to insert metadata in code hashtags.: name of developer, date, etc..
This enables even more personalized searches and filters.
When a search is performed, a window opens with all the metadata used in the project. All you have to do is select the elements and the type of search.
For more details, see The "Code hashtags" pane.
Multilingual channel assistant
A new wizard displays and manages all the chains used in the project: simple, multiline, multilingual.
Numerous filters are available.
This allows you, for example, to view all non-multilingual strings in a multilingual project, and check whether each string needs to be translated or not..
In this case, a selection can be made multilingual with a simple right-click.
For more details, see Project string manager.
Errors displayed directly in the code
In version 2024, errors and warnings can be displayed directly in the code..
A red banner marks the row , and the error wording is displayed directly in the row concerned..
No need to hover over the error to see the details, or spend time nodding up and down the screen to consult the error pane!
This presenter is appreciated by many developers.
Doxygen
Creating a procedure automatically generates an comment: description function, parameters, return values, etc..
In version 2024, this comment can be generated using Doxygen syntax.
For more details, see:
Miscellaneous
  • The search window also features a vertical presenter.
Performance analysis between 2 stop points
In version 2024, the debugger enables performance analysis between 2 "Performance breakpoints".
For more details, see Breakpoints.
Miscellaneous
  • The debugger reports access to an JSON member that does not exist.
An integrated DevOps environment
WINDEV, WEBDEV and WINDEV Mobile version 2024 form an increasingly cohesive DevOps environment.
You benefit from all the necessary functionalities to implement the DevOps approach: no more scattered, barely-compatible tools.
You have all the integrated tools to manage the DevOps methodology: lifecycle management, sprints, testing, continuous integration, deployment, continuous delivery, production, user feedback, etc.
Line and letter spacing management
In version 2024, the Report Editor lets you specify a value for:
  • the line spacing,
  • l'interlettrage,
of each printed control.
This allows presenter to be adapted to your wishes and the new standards.
Report editor: miscellaneous
  • Improved search in print preview.
Support for ONNX format templates
WLanguage's pattern detection AI uses templates.
In addition to the models supplied as standard, external models can be used..
The template ONNX format is now supported in addition to Caffe, Tensorflow and Darknet.
For more details, see AIDetectModel.
Null management
In version 2024, the WLanguage supports "Null" values on all types..
This makes it possible to handle Nullables fields (columns) in databases more directly..
Variables become "Nullable.
All WLanguage types become Nullable: integers, strings, money, dates, times, etc..
Nullable variables must be declared with <Nullable> extension attribute, or with its short form: a question mark after the type. For example int?
Conditions on null variables meet expected standards. Historical Null management retained for compatibility.
The new operators ?? , ??* And ?. to manage behavior in the event of a null value.
To avoid unwanted implicit conversions, the compiler generates an error when an Variable nullable is assigned to a non-nullableVariable. .
Some examples of WLanguage code:
// Déclaration de variable nullable
n is int<nullable>
// Syntaxe courte
n is int?
// Nouvel opérateur permettant de récupérer la variable ou
OTHER valeur IF Null
v is int = n?? 0
// Récupère la valeur par défaut du type si n est null
v is int = n?? *
// Nouvel opérateur permettant d'appeler une procédure pour
// une variable non null, sinon la ligne n'est pas exécutée
s is string? = "Hello world!"
Binding & Variable Zero
Nullable variables make it easier to create an control or memory binding between a database and a class..
Null variable management is now standardized.
Creating your own WLanguage types: for more rigorous programming by Default
Example: your application manipulates prices: price of a material, a commodity, a quantity.
An example is the price of powder, defined in grams, with 4 decimal places. Rather than defining the corresponding Variable in type numeric and having to specify each time the number of digits after the decimal point, in version 2024 it becomes possible to create a PricePoudre type and therefore then to define Variable s in the project by this type PricePowder.
No risk of error in the number of decimal places.
The code is automatically clearer and more standardized.
Compilation attributes defined on the type are preserved on all variables of this type..
The types created are then used as native language types..
In our example, it becomes possible to create a array of PrixPoudre.
PrixPoudre is type: numeric (5,4)
PROCEDURE CalculCoutColorant( PoidsAProduire is real, CouleurRAL is int ): PrixPoudre
Another example of use, more advanced, is the possibility of defining a Callback type, which specifies the number and type of parameters, and the return value expected by the Callback ("delegate").
Callbacks will therefore necessarily have the expected number of parameters, and the expected return value.
Immutability
An Variable with the immutable attribute can only be assigned once, and never modified again..
Unlike a constant, this Variable can be conditionally initialized in the code..
Immutability is also available for Procedure parameters.
Conditional compilation: 2 evolutions
Conditional compilation upgraded to version 2024.
You can write.
<COMPILE SI CST_MODE_APPLI EXISTE>
This makes it possible, for example, to compile different code in an Component.
It is now possible to enclose an entire procedure with a <COMPILE IF> statement
This totally excludes Procedure from the compilation.
For more details, see Compilation statement: COMPILE IF.
Dropbox, GoogleDrive and OneDrive access functions
3 new WLanguage types are introduced: gglDrive, oDrive, dpDrive.
The new family of WLanguage Drivexxx functions allows you to carry out the following operations on files stored in drives.
Here are some of the available features:
  • list the contents of a folder,
  • download,
  • upload,
  • copy,
  • delete,
  • rename,
  • move,
  • etc.
Practical: the generated code is independent from the storage service used.
Standard syntax.
MonDrive is Drive
// Envoi d'un fichier local dans le Drive
DriveUploadFile(MonDrive, "C:\DocumentsATraiter\CR-489-884.pdf", "/Mes documents/2023/")
Prefix syntax:
MonDrive is Drive
// Envoi d'un fichier local dans le Drive
MonDrive.EnvoieFichier("C:\DocumentsATraiter\CR-489-884.pdf", "/Mes documents/2023/")
Building path and URLs naturally
In version 2024, you can build strings containing file paths by separating elements with "+" and "/" characters /.
Example:
CheminFichier is string = Disque/Répertoire/Fichier
CheminFichier is string = Répertoire/Fichier
RAR5 decompression
File decompression capabilities extended to standard format: RAR5.
Associative arrays: set functions
Ensemblist functions are now available on associative arrays s:
The type of control is specified in control variables.
In version 2024, field types can be typed as follows.
Code becomes clearer, and input assistance more precise.
automatic security, it is impossible to pass incompatible parameters.. Example:
For more details, see Control (Variable type).
Add your own functions to controls
In version 2024, you can define your own functions for a specific type of control using prefix syntax.
Example:
In the code editor, your own functions will be suggested by assisted input.
Overloading functions on fields: now in prefixed syntax
Overloading of functions acting on fields is now available in both classic and prefixed syntax.
Verification of administrative identifier: tax number (NIF, tin, etc.)
The syntactic validity of a tax identification number can be checked by the new WLanguage function VerifyTaxNumber prefixed to the Country concerned.
For example: France.CheckTaxNumber
To date, the following Country identifiers are managed:
  • France,
  • Canada,
  • Switzerland,
  • Belgium,
  • United States,
  • Spain,
  • Italy,
  • Germany,
  • Brazil.
For more details, see Administrative number functions.
What type of processor is used in the PC?
Some very specific processes (drivers, etc.) require knowledge of the processor type in order to perform low-level processing..
The new constant sysNativeProcessor allows you to know the type of processor used on the execution machine: x64, ARM, etc.
oAuth
2 useful new features for oAuth appear in version 2024:
  • the PKCE authentication protocol is supported; this protocol avoids storing the private key in the executable.
  • an oAuth token can be generated from JSON content.
JWT identification protocol
JWT is a standard that enables safe and secure communication between two parties..
The JWT (JSON Web Token) identification protocol is natively supported by WLanguage version 2024.
DNS query
In version 2024, DNS queries are made easy thanks to the new DNSQuery function:
  • IP associated with a domain name,
  • sub-domains associated with a domain,
  • registration" information: A, AAAA, CNAME, PT, R, etc.
  • search on a particular DNS or on the first one found.
A procedure expects several parameters? use array, it's automatic
In version 2024, the parameters of an Procedure which expects different parameters (and not an array), can be contained in an array which will be analyzed by the WLanguage function ArrayToParameters to extract these parameters..
Calling Procedure is much simpler.
Additional chain delimiter: `.
There is a grave accent at the end of the title ci-Above?
It's Normal , that's the extra delimiter!
In addition to the historical string delimiter, " (double quote), the "grave accent" delimiter appears.
The advantage of this separator is to avoid doubling double quotes, and to ensure the operation of [ % whatever the project options.
sCodeHtml is string = `<p style="color:red;">`
%, Modulo
The Modulo operator now accepts the % operator as a synonym.
And" operator, "or" operator, ask for the switchboard!
The AND and OR operators can abandon their historical operation, to perform evaluations in an optimized manner: when the first element is decisive, the second element is not evaluated.
This new behavior is available through the compiler options.
All new projects created by Default have this option.
For more details, see Logical operators.
New type: simpler digital formatting
A new type for formatting numbers has been introduced: NumericFormat.
Properties of this type can be used to specify the number of digits after the decimal point, separators, etc..
A code wizard makes the task even easier.
Code sample:
FormatagePrix is NumericFormat
FormatagePrix.DigitsAfterPoint = 2
FormatagePrix.Prefix = "$"
FormatagePrix.DecimalSeparator = "."
FormatagePrix.ThousandSeparator = ","
FormatagePrix.Sign = nfsMinusIfNegative
Prix is string
Prix = NumToString(16945201.986, FormatagePrix)
// Prix contient la chaîne "$16,945,201.99"
Code coloring in your UI
WLanguage code in plain text?
Would you like to display it in a window or page of your application?
Ask for syntax coloring!
The new Type WLanguage WLanguageCodeFormatting is your friend.
Are supported:
  • code indentation,
  • translation,
  • the right break,
  • theme (light or dark),
  • etc.
Syntax highlighting can be performed in HTML. A customized CSS style sheet is generated, making it reusable.
Miscellaneous
  • New fReadLine callback syntax.
  • Push notification functions are available in prefixed syntax.
pcsCloud.net: your development cloud, your deployment cloud
For your applications:
  • WEBDEV Application Server to host WEBDEV websites,
  • Cluster of WEBDEV Application Servers,
  • WEBDEV Application Server to provide web services,
  • SaaS platform,
  • Your own Private Store for your WINDEV and WINDEV Mobile applications,
For your telemetry:
  • Telemetry platform.
For your Data:
  • HFSQL server to access databases,
  • HFSQL Spare, to set up HFSQL backup servers,
  • Universal data replication server,
  • Mobile User Groupware,
For your development environment
Project Virtualization Platform: Private SCM, Control Centers, Dictionaries.
GDSDrive and HFSQLDrive are specialized clouds:
  • for SCM data sharing,
  • for hosting HFSQL databases.
Favorite fields: a practical new feature
It often happens that the developer recreates the same fields, with the same style and the same code (or more or less) throughout a project, without wishing to use an template or an Internal Window..
For example the "OK" and " Cancel " buttons.
Most developers tend to copy an existing control from another page or window, paste it and then edit it.
Favorite controls make this whole process much simpler.
Version 2024 of the environement allows you to define an control or a set of control s as "control Favourite"..
Creating an control Favourite is as easy as right-clicking.
This control Favourite will then be automatically proposed in the control s selection UI, at the top of the list..
A favorite control stores information about:
  • size,
  • style,
  • code.Once the control Favourite has been positioned in the window or page, you can freely modify the parameters of this control. No need to overload features.
When an control Favourite is created, it automatically appears at the top of the list of control s of the same type..
It is possible to choose in which list(s) a favorite control appears, which is useful for an control Favorite composed of several control s.
For more details, see Favorite controls.
A favorite control can be a group of control s
A Favorite control can be composed of multiple controls.
For example, an Edit control with an associated filter button.
For more details, see Favorite controls.
Share favorite fields
Favorite controls within a project are accessible to all project contributors.
You can share Favorite controls between different projects. You can also copy Favorite controls from one project to another.
For more details, see Favorite controls.
How to use a favorite control
A new button in the ribbon opens a list with all your Favorite controls, classified according to the tags defined when they were created.
Favorites fields are also included in the list of fields by type, according to the choice made at creation..
Favorite controls appear at the top of the list.
Then, you can simply drag and drop them onto the current window or page.
For more details, see Favorite controls.
Large Webservice calls: boost speed, reduce CPU consumption
In some cases, the response time for Webservices created with WINDEV or WEBDEV of significant size (several hundred classes) could be high..
In version 2024, the use of this type of Webservice has been drastically optimized.: response time is almost immediate, like other Webservices, and CPU consumption is greatly reduced.
NTLM and DIGEST authentication
NTLM and DIGEST are secure authentication methods for Web servers.
Some REST Webservices may require NTLM or DIGEST authentication.
In version 2024, these types of authentication are natively integrated.
Please note, however, that NTLM is no longer recommended.
Miscellaneous
  • The new httpTraceInfo constant for the httpRequest type allows you to get the cURL and OpenSSL log files.
XML
XML signature: ECDSA, one of the new standards supported
Version 2024 allows XML files to be signed using "elliptic curve" signatures.
the following formats are supported:
  • RSA SHA384,
  • RSA SHA512,
  • ECDSA SHA224,
  • ECDSA SHA256,
  • ECDSA SHA384,
  • ECDSA SHA512.
Note: ECDSA is the public-key electronic signature algorithm used by Bitcoin.
For further details, please refer to the specifications of the Variable xmlSignature type. .
New XMLcheck signature function
The new XMLVerifySignature function can be used to check the validity of a signed XML file.
Litter (cat?) attributes
New attributes available for class members.
The <get>, <protected get>, etc. attributes are used to determine if members are accessible in read, write or read/write mode; as well as their scope.
extension class method
In version 2024, you can now add your own methods to shared classes, without having to modify the class code..
Other projects using this class are therefore not affected by the modifications.
Immutable classes
An immutable class can be considered as a kind of constant.
All class members become immutable: once assigned (in the manufacturer), they cannot be modified.
Binding: compilation error for a member and a field of different types
In version 2024, the compiler detects and reports an mapping that links a member to a topic that has differences:
  • different sizes,
  • ANSI/Unicode string,
  • different type,
  • etc.
This type of error can occur when modifying description data (analysis).
Python
Version 2024 now manages objects passed as parameters or retrieved by a Python Procedure.
C#
Entering source code in C# no longer requires the presence of an C# assembly in the project.
AI in the code editor
Version 2024 of the Code Editor explains existing code and generates procedure documentation.
Just click on an Icon to generate the explanatory text!
The editor encapsulates the use of GPT for this purpose.
Auto-generated WLanguage code explanation
Are you copying code from another developer? Very old code? Don't understand what the code does?
Ask the Code Editor! The Code Editor displays a clear, concise explanation of natural language processing..
Simply select the code you want to explain.
Auto-generated procedure documentation
The Code Editor lets you generate the comment header for the Procedure from the existing code of an Procedure:
  • description of each parameter,
  • return value of the procedure,
  • description treatments for Procedure.
comment is generated in historical or Doxygen format.
This comment is also used by the code editor to provide contextual assistance when typing the call code.
automatic generation of comment reintegration into SCM
When re-entering the SCM , a good practice is to enter the description of the modifications made.
Version 2024's Code Editor can also generate this description for the developer.
HFSQL server language
The HFSQL server can display messages visible to the end user.
In version 2024, these messages are displayed in the customer's language if possible.: english, spanish, french.
HFSQL server replication
To handle special cases of physical corruption of replication files (.HYL), the new hrsIgnoreError WLanguage function and an option in the HFSQL Control Center allow you to ignore the corrupted part of the file..
This option, to be used with discretion, may prove useful in the operating phase.
HFSQL Docker
The Image Docker for the HFSQL server is now available in Debian 12, as a multilingual version.
Miscellaneous
The HQueryExecuted function lets you know if a query has already been executed.
  • The modification automatic of the data files ("auto modification") allows you to change a Password type item to a String type (the passwords are not recovered),
  • Server backup: customizable Default directory,
  • The list of monitored files can be retrieved using the WLanguage HListWatchedFiles function.
  • Procedure Stockée: it becomes possible to pass arrays s as parameters.
Complex queries: improved performance
The execution speed of complex queries is increased in version 2024.
Order Returning
The SQL Returning order which allows values to be returned on insert, modify or delete queries is supported in version 2024. useful, for example, to retrieve automatic identifiers for lines inserted by the query.
Table renaming with Alter Table Rename
Renaming tables using the Alter Table Rename command is now possible.
SubDate, Date_Sub, ADDDATE, etc.
For compatibility with certain databases, the Date_Sub , ADDDATE , SubDate and Date_ADD orders are now supported in version 2024.
Faster IsNull order
The IsNull order is faster in version 2024.
27 new SQL functions
27 new SQL functions are appearing in version 2024.
VALUEReplace a value with another constant value.
LOREM_IPSUMReplaces a string with a Lorem ipsum of the desired size.
NOISEReturns a value between -x% and +x% of the original value.
PARTIALPartially replaces characters in a string.
PROCEDUREAllows you to use Procedure to anonymize data.
RANDOM_DATE_BETWEENTo obtain a random value in an interval of dates.
RANDOM_INT_BETWEENAllows you to obtain a random value in an interval of integers.

SQL functions dedicated to spatial data.
ST_AERA Calculate the surface area occupied by an Geometry.
ST_CONTAINSFinds out whether an Geometry (in 2 dimensions or in geographic coordinates) is contained within another Geometry (in 2 dimensions or in geographic coordinates), i.e. whether all points of the Geometry to be compared are contained without exception in the Geometry of reference.
ST_COVEREDBYAllows you to find out whether ALL the points contained in the first Geometry are contained in the second Geometry or whether at least one of the points in the first Geometry is not part of the second Geometry.
ST_COVERSAllows you to find out whether ALL the points contained in the second Geometry are contained in the first Geometry or whether at least one of the points in the second Geometry is not part of the first Geometry.
ST_CROSSESDetermines whether one of the two Geometry s has some of its inner points in common with the second Geometry (and not necessarily all of its points)..
The intersection represented by these points in common must meet two conditions:
  • the dimension of this intersection must be smaller than the dimensions of the geometries being compared.
  • this intersection must not be equal to one of the geometries being compared.
ST_DIFFERENCEReturns an Geometry Receiver corresponding to the difference between the two Geometry s passed as parameters.
ST_DISTANCE Calculates the distance between 2 geometries (in 2 dimensions or geographic coordinates). This distance is expressed in the unit of measurement specified when defining the geometry.
ST_EQUALSFinds out whether 2 geometries (in 2 dimensions or geographic coordinates) are identical, i.e. whether they have the same dimension and whether the points defined occupy the same area.
ST_GEOMFROMTEXTConverts an Geometry described as a character string into a 2-dimensional Geometry.
ST_INTERSECTIONReturns an Geometry representing the entire area included in the two input forms.
ST_INTERSECTSFinds out whether 2 geometries (in 2 dimensions or geographic coordinates) have points in common. This command calculates the common area (intersection) between the two geometries.
ST_LENGTHReturns the length in meters of a linear Geometry. A linear geometry (or linestring) is a geometry composed of several connected points. The geometry must be composed of at least two points. The set of points must not form a closed geometry, i.e. a polygon. The length is obtained from the sum of each line making up the linestring.
ST_MAKEPOLYGONReturns a polygon whose outer ring is the first Geometry entry, optionally with holes.
ST_OVERLAPS Finds out whether the dimension of the Geometry resulting from the intersection of the 2 Geometry s is equal to the dimension of the Geometry s compared, while being different from each of the Geometry s compared.
ST_PERIMETERReturns the perimeter in meters of the indicated Geometry. The perimeter is calculated by adding each segment that makes up the boundary of the geometry.
ST_SIMPLIFYReturns a 'simplified' Geometry of the specified Geometry. The new geometry is calculated using the Ramer-Douglas-Peucker algorithm, with the specified tolerance.
ST_SYMDIFFERENCEReturns an Geometry corresponding to the union of 2 Geometry s passed in parameter, from which are subtracted the shapes corresponding to the points common to the 2 Geometry s.
ST_TOUCHESDetermines whether two geometries have at least one of the external points describing their respective contours in common.
ST_UNIONReturns an Geometry Receiver corresponding to the union between two Geometry s. This Geometry corresponds to the merger of the 2 Geometry s.
ST_WITHINFinds out whether the first Geometry is contained within the second Geometry, i.e. whether ALL the points making up the first Geometry are contained within the second Geometry.
Your HFSQL databases in the Cloud in 3 clicks
HFSQLDrive lets you easily and immediately host your databases (your tables) in the Cloud..
A mobile app that stores data in the cloud is also at your disposal.
Attractive flat rate subscription.
Get it now!
Boosted synchronization speed
A cluster is synchronized in real time, with the aim of keeping every node up to date, so it's resistant to failures and Windows Updates!
A cluster also optimizes the performance of get.
In version 2024, HFSQL Cluster significantly improves synchronization performance when a node is restarted.
Miscellaneous
  • The hCopyFile WLanguage function is available in cluster mode.
  • Secure encryption support.
Note
Don't confuse anonymization with pseudonymization.
Pseudonymization is a reversible operation that does not provide 100% protection for the information processed..
Anonymization is not reversible, and therefore cannot be used to retrieve original data.
For more details, see Automatic data masking.
Why anonymize?
Data masking helps you prevent sensitive data exposure by hiding it from certain users.
Data masking also makes it possible to secure information and prevent it from spreading.
This technique helps you meet GDPR requirements.
Note: anonymization and pseudonymization should not be confused, see hereAbove.
For more details, see Automatic data masking.
What can be anonymized?
Anonymization is easily performed, in a very detailed way, by heading (by column).
Text (string and text memo), Integer, Real and Date field types accept anonymization.
For more details, see Automatic data masking.
The 5 rules of anonymization
Each item can be anonymized according to 5 different rules:
  1. noise: returns the original value with an Variable deviation.
  2. fixed value: always returns the same value.
  3. random value: returns a random value.
  4. Partial replacement : replaces only a specified part of the field.
  5. custom: the value is returned by your code, present in a stored Procedure.
Examples of each method on a text and on a number:
Dupont >>> non applicable 1230 >> 1385
Dupont >>> Nom 1230 >> 1111
Dupont >>> efvb458/ 1230 >> 743
Dupont >>> DxxxxT 1230 >> 1xx0
Dupont >>> 2335874 1230 >> 6
For more details, see Automatic data masking.
How to mask data?
To anonymize fields in an table database, simply use the Analysis Editor (Data Schema)..
All you have to do is specify the anonymization rule in the 7 Definition tabs under the heading.
It's also possible to anonymize a database using the new SQL functions: ADDMasked , noise , value , random_XXX_between , partial , procedure.
Note that when an table (a data file) contains at least one anonymized field, the table must be encrypted.
For more details, see Automatic data masking.
Who can read?
For security reasons, by Default any access to an anonymized section of a data file returns the anonymized content..
It is not possible to read the original value, either in the HFSQL Control Center or by programming..
To authorize get of the original content, you must have the rights to "deanonymize a section" (UNMASK) on the data file.
In this case, the server returns the original data.
For more details, see Automatic data masking.
Transparent programming
In all cases, the initial value of an anonymized field is retained by the server, which is why the data file (and table) must be encrypted..
WLanguage functions hChanges, etc.. have no effect on an anonymized heading: they never modify the value of an anonymized item.
No risk of overwriting the initial value.
It is not possible to search, sort or filter anonymized headings without the appropriate rights.
For more details, see Automatic data masking.
Maximum security
All cases of use of an anonymized heading are taken into account: stored calculated items, materialized views, backups, table exports ...
It is not possible to launch an of the data file backup without "de-anonymize a field" rights.
For more details, see Automatic data masking.
Note
HFSQL version 2024 supports geometric and geographic data.
You can store these types of data in HFSQL databases and perform advanced SQL queries, for example: "list of parcels over which a given path passes" or "list of schools within a 1 km radius".
What is spatial data?
Spatial data can be used to describe:
  • location,
  • geometry,
  • extension.
objects in space (in the sense of "terrestrial space").
Spatial data can be used to store points of interest (shippers, restaurants, hotels), "route" data such as roads, rivers, lakes (as in Connemara) or surfaces such as properties (land registry), forests, mountains, administrative zones, and so on..
This type of data is necessary for the creation of a GIS..
Spatial data is geographic and geometric information (see below).
How to describe spatial data: new types in WLanguage
Two coordinate systems are used, depending on the application:
  • geometric coordinates (2D, geometry),
  • geographic coordinates (latitude/longitude, GPS, geography).
Geometric 2D coordinates can be used over short distances (up to 50 km).
Since the earth is round (yes, it is), it is necessary to use the geographic coordinate system to take into account the curvature of the planet for greater distances..
These spatial data are manipulated using new WLanguage types.
For the geometric system (2D), you benefit from the new Point2D, Polygon2D, Linestring2D, etc. types..
The new MultiXXX type can store a set of previous types.
These types are also available for the geographic system: PointGeo, PolygonGeo, LinestringGeo, etc.
How do I retrieve spatial data?
There are several ways to retrieve spatial data.
Data can:
  • be entered directly by the developer,
  • be the result of user input (e.g. entering contact details),
  • be imported from hardware (GPS tracker),
  • from GPX files,
  • be downloaded from files published in row (in France, notably data.gouv.fr and apicarto.ign.fr).
A simple smartphone can provide GPS (i.e. geographic) positions and tracks..
For France, for example, the apicarto.ign.fr website provides useful data:
  • register,
  • map of wine appellations,
  • natural spaces and protected areas,
  • urban plans,
  • defense and security zones,
  • geographical contours of the académies,
  • and many others.
New WLanguage functions for serializing and deserializing new types. Many formats are supported: JSON, XML, CSV, text, etc.
Calculation functions for spatial data
Specific operations can be performed on spatial data: calculations of plot areas, road lengths, perimeters, stored shapes, etc..
It is also possible to perform operations on several data sets, such as calculating distances, finding nearest neighbors, calculating the union or intersection of several geographic zones, etc..
The new family of WLanguage functions Geometry is available for this purpose (see new feature 372, sorted alphabetically).
How do you store spatial data?
In version 2024, it couldn't be easier to store spatial data: HFSQL!
Simply store the data in new headings of type PointGeo, PolygonGeo, LinestringGeo, etc.
Spatial index for faster queries
To optimize performance on spatial queries, HFSQL has introduced spatial indexes.
Spatial indexes make it possible to process very large volumes of data very quickly, an essential feature given the size of the data. of most spatial datasets.
To description a spatial index, just click on it in the Analysis Editor (Data Schema).
Queries on spatial data
It is possible to create a query of the type: "find the 5 nearest recharging stations to my location", or "count the number of plots of land in town XYZ within 800 metres of a school, with a surface area of at least 400m²"..
Queries are written in SQL, or generated by the Query Editor..
20 new SQL commands to set the desired conditions: distance, surface, intersection...
Adding data files
HFSQL Spare is a near real-time server backup solution.
In version 2024, a data file is automatically added to a Spare database.: simply add the file to the source database.
No further handling is required.
Faster display of table contents
display of table content is optimized in the Control Center in version 2024: everything is much faster.
For example, memos are not systematically loaded and viewed.
Display row (Record) in sheet mode
The new Record display type (row) in Fiche mode makes viewing and editing the contents of this Record much more user-friendly.
Miscellaneous
  • The double-click no longer unrolls the row,
  • Adapt column widths to content,
  • Multiline display with choice of maximum number of rows,
  • Merge Content and Search tabs,
  • SQL Returning order management.
Note
Many Native Connectors are available for third-party databases: Oracle, SQL Server, AS/400, DB2, MySQL, PostgreSQL, SQLite, xBase, MariaDB, Informix, Progress, Sybase, etc..
These Native Connectors facilitate programming (binding etc). They are evolving into the 2024 version.
Native connector: non-blocking stored procedures
In multithreaded programming, execution of a stored Procedure immediately returns the hand to the other threads accessing the native connector..
Application speed is boosted.
Native connector: multithreaded programming for increased speed
In version 2024, native connectors handle all aspects of multithreaded programming.
A query on a database using a native connector executed in a Thread no longer blocks other Thread simultaneously accessing the database.
Speed is boosted.
Image docker: native ORACLE and SQL Server connector
In version 2024, native SQL Server and Oracle connectors can be contained in a Docker Image: very useful for WEBDEV Docker images (see new 933 ).
Reminder: you need an Native Connector license for each Image Docker.
Miscellaneous
  • The SQL Returning order is recognized in Oracle, MariaDB, and PostgreSQL Native Connectors .
*select queries
Slightly special SELECT* type queries are now authorized from the Query Editor.
Miscellaneous
  • Generation of WLanguage Structures corresponding to the result of a query,
  • Sorting parameters can be set in Union queries.
IOT
MQTT 5 support
MQTT is a messaging (data transfer) protocol adapted to machines..
The new version 5 of MQTT is supported in version 2024.
MQTT: ignore certificate errors
It becomes possible to ignore Certificate errors.
MODBUS and WEBDEV
MODBUS functions are now also available in WEBDEV.
For more details, see Modbus functions.
Note
The European Union has decided to make electronic invoicing the general rule.
Evolution of the exchange format
Electronic invoicing becomes mandatory in many countries, including France.
The exchange format is generally based on JSON structures. .
Version 2024 enhances JSON format management for secure transfers.
My health space
In France, the "Dossier Médical Partagé" (DMP - shared medical file) is being used more and more..
The Dossier is associated to manage the insured's Carte Vitale..
The Carte Vitale gradually goes paperless.
WINDEV 2024 offers functions for reading the associated QR Code for dematerialization.
Bitcoin blockchain access functions
In version 2024, the new BitcoinXXX family of functions provides information on the Bitcoin blockchain: blockchain size, hrate, last block mined date, etc.
For more details, see BitcoinCore functions.
Note
Telemetry allows you to collect and aggregate anonymous or non-anonymous information on how your applications are used: selected menus, functionalities used, duration of processes and queries, possible bugs, use time ranges.
Telemetry also allows you to determine the hardware configuration and OS version of end users.
PCSCLOUD.NET offers the immediate setup of a telemetry server.
Administrator
Version 2024 features an intuitive administration page for all maintenance and administration operations:
  • change password,
  • database connection change,
  • deleting an application,
  • etc.
Create an automatic test of an application without its source code
WINDEV's standard test automaton is a much-appreciated tool.. In the 2024 version, its use becomes even more universal.
No need to handle the source project of the application to be tested.
Automatic test(s) can be generated using only the.
Automatic test scripts are generated and can be used independently.
Launch of row's Robot for testing by Command
In version 2024, it is now possible to script the launch of automatic tests.
Certificate expiration alert
In version 2024, the Robot detects Certificate TLS expiration dates, and triggers an alert if necessary.
For more details, see SSL certificate validity.
HTTP request monitoring
HTTP request monitoring now lets you add parameters to the HTTP headers of these test requests.
For more details, see Check: HTTP connectivity.
Redis
The new RedisDisconnect function allows you to disconnect from the base without having to complete the process.
Minimum version required
  • Version 2024
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/29/2024

Send a report | Local help